package com.example.prueba2pds;

import java.util.List;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;

/**
 * Esta clase permite configurar un adaptador para que se muestre como un item en un listview. Este adaptador
 * se utilizara para visualizar la lista de 'todos los pedidos' asi como tambien el de los 'pedido entregados'.
 * @author Renew21
 */
public class VerPedidosAdapter extends ArrayAdapter<Pedido> {

	private Context mContext;
	private List<Pedido> mObjects;

	static class ViewHolder {
		public TextView mesa;
		public TextView detalle;
		public TextView estado;
	}

	/**
	 * Construtor permite inicializar el adaptador con los valores que el usuario indique.
	 * @param context Recibe el contexto o la clase en donde se usara el adaptador.
	 * @param textViewResourceId El tipo de estilo de texto del item (en este caso no se utilizara).
	 * @param objects La lista de objetos de tipo Pedido.
	 */
	public VerPedidosAdapter(Context context, int textViewResourceId,
			List<Pedido> objects) {
		super(context, textViewResourceId, objects);
		mContext = context;
		mObjects = objects;
	}

	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		View rowView = convertView;
		if (rowView == null) {
			LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
			rowView = inflater.inflate(R.layout.activity_ver_pedidos_item, null);
			ViewHolder viewHolder = new ViewHolder();
			viewHolder.mesa = (TextView) rowView.findViewById(R.id.activity_pedidos_item_txtmesa);
			viewHolder.detalle = (TextView) rowView.findViewById(R.id.activity_pedidos_item_txtdetalle);
			viewHolder.estado = (TextView) rowView.findViewById(R.id.activity_pedidos_item_txtestado);
			rowView.setTag(viewHolder);
		}

		//Se sobreescribe el texto de los textview con los valores del objeto Pedido.
		ViewHolder holder = (ViewHolder) rowView.getTag();
		holder.mesa.setText(mObjects.get(position).getMesa());
		holder.detalle.setText(mObjects.get(position).getDetalle());
		
		//Si el objeto tiene estado 0 quiere decir que esta 'pendiente' sino esta 'entregado'.
		if(mObjects.get(position).getEstado() == 0){
			holder.estado.setText("Pendiente");
		}else{
			holder.estado.setText("Entregado");
		}
			
		return rowView;
	}
}

